引言
昨天針對 Nuget 套件的種類、來源、管理做一個介紹,今天針對如何自建 Nuget 套件庫讓其專案使用做分享。
分享主軸
Step 1 : 創建類別庫專案
例如創建一個類別庫 MyLibrary,做一個簡單數學運算類別功能,如下
namespace MyLibrary
{
public class MathOperations
{
public int Add(int a, int b)
{
return a + b;
}
}
}
Step 2:設定專案檔 (添加必要的設定)
到專案檔內寫一些套件上的設定,如下 (套件版本比較重要)
<PropertyGroup>
<Version>1.0.0</Version> <!-- 套件版本 -->
<AssemblyVersion>1.0.0.0</AssemblyVersion> <!-- 組件版本 -->
<FileVersion>1.0.0.0</FileVersion> <!-- 檔案版本 -->
</PropertyGroup>
注意:專案名稱會自動成為 NuGet 套件名稱,因此命名時需謹慎。
Step 3:生成 NuGet 套件
發佈套件,要發佈成 Nuget套件點選套件,如下圖
發佈成功後就會在某個路徑,產出 .nupkg 檔案,可以從下圖中查看檔案產生在哪個路徑位置
此時自己寫的功能套件已經發布完成。
Step 4:發佈 NuGet 套件
接下來得把發佈出來檔案上傳到 Nuget官網 ( https://www.nuget.org/ ) 或是使用 NuGet CLI 發佈套件
上傳後就可以看到還在審核中,如下圖
2.透過 CLI 發佈套件
dotnet nuget push 發布的套件名稱.nupkg --api-key YOUR_API_KEY --source https://api.nuget.org/v3/index.json
Step 5:在專案中引用自建的 NuGet 套件
此時在管理 NuGet 套件中就可以查詢到剛剛上傳的套件名稱,並在程式中引用它
using MyLibrary;
class Program
{
static void Main(string[] args)
{
MathOperations math = new MathOperations();
int result = math.Add(3, 4);
Console.WriteLine($"3 + 4 = {result}");
}
}
到這邊已經完成自建 Nuget套件作法。
Step 6:在專案中引用自建的 NuGet 套件庫,使其在管理 Nuget 套建那的來源看到
dotnet new nuget.config
然後到 nuget.config 內加入自訂的發布 Nuget 套件名稱與存放路徑位置,如下圖
此時在管理 Nuget 套建那的來源就可以看到這些被加入設定的來源,如下圖
簡單統整今日重點
今日結語
自建套件有優缺點,像是之前公司就有做內部 NuGet 伺服器,對於團隊開發,搭建內部 NuGet 伺服器,方便管理和共享自建的套件,同時也避免某些相似系統在功能上的重工性。
但缺點也是有,像是初期搭建時間成本與維護成本,依賴性變高,套件更新壓力變大(一旦多個系統同時使用,就不太容易更新)等等。
總之個人覺得了解這些,是對於專案開發上有更多選擇,學習這些知識,其實優點是大於缺點的。
希望今天有幫助到大家,明天繼續努力! 謝謝。